約 3,206,282 件
https://w.atwiki.jp/saintsrowselfmade/pages/63.html
Big Willy s Cab Company 概要 業種:輸送業 所在地:不明 電話番号:555-0100 解説 シリーズお馴染みのタクシー会社。 『初代』『2』ではボディカラーは灰色でロゴマークが黄色という組み合わせだったが、『The Third』では同業他社が存在しない事もあってか、黄緑、オレンジ、黄色、青と数色のボディカラーに黒色のロゴマークという組み合わせに。 『IV』では黄色のボディカラーに黄色のロゴマークの組み合わせに再び戻っているが、今作ではロゴマークは黒、ボディカラーはイエローで固定されている。 従来シリーズではタクシーは1車種のみしか登場せず、そこにカラーや会社のバリエーションが登場する事が殆どだったが、今作では初めてタクシー車両が2種類用意されている。 しかしながら、旧式のセダンタイプと2ドアのコンパクトカーの2種類であり、些か謎が残る仕様となっている。前者は兎も角、後者は明らかにタクシーとしては不向きな車両である。 Eagle Line YellowとRide itは同業他社でライバル。 後者のRide itは名称から推測するに、ライドシェアサービスの提供するタクシー車両と思われる。 なお、社名の「Willy」はスラングで「ペ○ス」を意味し、『初代』『2』の電話番号、「819-8415」は「BIG-BALS」を意味する(*1)と思われ、社名と電話番号、両方の意味を合わせて社名を読み解くと「デカい金○とペ○ス」を意味する。某オープンワールドクライムゲーム顔負けの下ネタ。 今作では電話番号も料金表の表記も見当たらない為、電話番号とタクシー料金は不明。 最近ではイタズラ電話防止の為に電話番号を記載しないタクシー会社も少なくない為、その兼ね合いなのかもしれない。 蛇足だが、現実のアメリカにおいてタクシーはUberやLyftと言ったライドシェアサービスにかなり押されており、2010年代後半にはサンフランシスコのタクシー会社が倒産し、更に各地のタクシー会社と配車サービスがしのぎを削る状態だったが、2022年現在、ニューヨークのタクシーであるイエローキャブはUberによる配車が可能となるように調整を開始。一足早く、サンフランシスコでは大手タクシー会社の一つ、FlyWheelがUberで呼べるようになっている等、共存の道を選んでいる。 関連項目 Olive Emu 過去作の同社のタクシー車両 Saints Row 2 Saints Row The Third Remastered Saints Row IV
https://w.atwiki.jp/vipdelols3/pages/192.html
月BBA MIDかJungle推奨 スキル Passive Dianaの攻撃速度が20%増加し、通常攻撃3回毎に通常攻撃に追加魔法DMが付与され、周囲をなぎ払う範囲攻撃を行う。追加魔法ダメージはLvが上がるごとに強化される。 このスキルのお陰でJungle周りが素早い レベルが上がってくると魔法DM290(APrate0.6)とかいう頭おかしいダメージが出る ASとAPが同時に稼げるNashor s Toothというアイテムを持つと良いらしい Q 指定地点に弧を描くエネルギーを放ち、当たった敵ユニットに魔法DMとMoonlight(3s)を与える。またMoonlightが付与されている敵ユニットの位置が見える。 トリッキーな軌道で飛んでいくエネルギー弾 消費マナが55固定なので燃費がいい W ダメージを軽減するシールドを張ると同時に、Dianaの周りを回る3つの球体を召喚する。敵ユニットが触れた球体は爆発し、範囲内の敵ユニットに魔法DMを与える。球体が全て爆発するとシールドが張りなおされる。 防御兼攻撃スキル ダメージを与え終わったらシールド貼り直しとかなにこれ これを上げていけばJungleでHPを十分に保ちながらGankに行けるぞ E 近くにいるすべての敵ユニットをDianaがいる方向に引き寄せた後、スロー(2s)を与える。 スロー 35/40/45/50/55% CDがLV5でも18秒もある為使いドコロを見極めるべき 吸い込み中はスタンしているような物で範囲ギリギリで使うとえげつない拘束力になる R 対象の敵ユニットの元までテレポートし、魔法DMを与える。対象にMoonlightが付与されていた場合、すべての敵ユニットに付与されたMoonlightを消費してこのスキルのCDが解消される Qを当てた敵に対しては2回発動できることになる AkaliのRに似た性能のスキル
https://w.atwiki.jp/japanesehiphop/pages/3188.html
Format Title Artist Label Model Number Release Press 2LP BIG YOUTH(promo) ECD CUTTING EDGE,AVEX,PRIME DIRECTION CTJS-5017,5018 1997/--/-- - Side Track Title Produce A 1 INTRO ECD 2 STAR TOUR ECD 3 密漁 ECD 4 俺達に明日は無い(RAP VERSION PT.2) ECD B 5 俺達に明日は無い PT.1 ECD 6 SUNNY ECD 7 AFTER THE RAIN H.ASAMOTO 8 ピラニア ECD 9 復活祭 ECD C 10 ロンリ―・ガール feat.K-DUB SHINE ECD 11 117 ECD 12 CUTTING EDGE ILLICIT TSUBOI 13 TOKYO TOKYO TSUTCHIE 14 OUTRO ECD D 15 銭の花(GOD HAND REMIX) feat.四街道ネイチャー ECD 16 WINTER SADNESS ECD PERTAIN CD ビッグ・ユース
https://w.atwiki.jp/hyakuenbig/pages/38.html
100円BIG %%%%%レジェンド1号 ミニビッグ▼バランス BIG1000(ビッグセン) BIG
https://w.atwiki.jp/xbox360score/pages/1189.html
Indianapolis 500 Evolution 項目数:50 総ポイント:1000 難易度: ★国内未発売 北米のみ Pole Sitter Take the pole at the Indianapolis 500 30 Barrier Broken Beat Parnelli Jones 150.370 mph qualification average at Indianapolis in 1962 (Career) 20 Rocketman Win the Indianapolis 500 in a turbine powered car 20 Gentlemen, Start Your Engines Start the 1961 Indy 500 race in Career 10 Finisher 1961 Place top 3 in the 1961 season standings in Career 20 Finisher 1962 Place top 3 in the 1962 season standings in Career 20 Finisher 1963 Place top 3 in the 1963 season standings in Career 20 Finisher 1964 Place top 3 in the 1964 season standings in Career 20 Finisher 1965 Place top 3 in the 1965 season standings in Career 20 Finisher 1966 Place top 3 in the 1966 season standings in Career 20 Finisher 1967 Place top 3 in the 1967 season standings in Career 20 Finisher 1968 Place top 3 in the 1968 season standings in Career 20 Finisher 1969 Place top 3 in the 1969 season standings in Career 20 Finisher 1970 Place top 3 in the 1970 season standings in Career 20 Finisher 1971 Place top 3 in the 1971 season standings in Career 20 Happy To Be On The Podium Bronze in every Mission in Yearbook 20 So Close Silver in every Mission in Yearbook 30 The Winner Gold in every Mission in Yearbook 50 Good For You First gold in any Mission in Yearbook 10 Hard Charger Award Start in last and finish first at any track 20 Not Just Left Turns Win at Riverside in Career 15 Just A Mile... Win at the Milwaukee Mile in Career 15 A Not So "Quick Race" Complete a 200 lap race at Indianapolis in Quick Race or Career 50 Victory Xbox LIVE Win your first Xbox LIVE race 30 Mmm... Buttermilk Win an Indianapolis 500 race in Career 50 Station No. VI Win the Indy 500 race with a 1963 Novi engine in Career 25 The Full Set Own every chassis in Career 50 Respected By Peers At least 60% of the drivers in Career "Respect" you 25 Victory Win a race in Quick Race or Career (Single Player) 30 Buy A Chassis Purchase a chassis in the Shop 5 Buy An Engine Purchase an engine in the Shop 5 Buy A Gearbox Purchase a gearbox in the Shop 5 Complete 1961 Compete in every race in the 1961 season 10 Complete 1962 Compete in every race in the 1962 season 10 Complete 1963 Compete in every race in the 1963 season 10 Complete 1964 Compete in every race in the 1964 season 10 Complete 1965 Compete in every race in the 1965 season 10 Complete 1966 Compete in every race in the 1966 season 10 Complete 1967 Compete in every race in the 1967 season 10 Complete 1968 Compete in every race in the 1968 season 10 Complete 1969 Compete in every race in the 1969 season 10 Complete 1970 Compete in every race in the 1970 season 10 Complete 1971 Compete in every race in the 1971 season 10 The Big Wheel Win at Langhorne in Career 15 King Of The Tri-Oval Win at Hanford in Career 15 The Dogleg Win at Trenton in Career 15 Did This Really Happen? Win at Honey Creek in Career 15 Participation Trophy Complete your first race (Single Player) 10 It s Over Finish all 11 years of Career 75 Participation Trophy II Complete your first race on Xbox LIVE 10
https://w.atwiki.jp/bfgmatome/pages/487.html
ゲーム情報(登録されているタグ) ジャンル>アドベンチャー 製作会社>Banzai Interactive 製作会社>Gogii Games 製作会社>未確認 言語>英語 コメント欄へ移動 ゲーム配布ページ 英語 http //www.bigfishgames.com/download-games/4402/book-of-legends/index.html 日本語 紹介文 Join Zoe and Charleston Black as they unravel a powerful and ancient Arthurian legend in this gripping Hidden Object game! What began as a casual interest quickly spirals into a dangerous obsession when a young researcher is consumed by the search for a mythic book of limitless power. Travel the world uncovering clues to one of the most powerful and sought-after tomes in human history. Delve into Book of Legends today! Captivating storyline Challenging mini-games Unleash legendary power! Get help at our Forums 画像 « » var ppvArray_0_3904412c62a7030b520ea558805904db = new Array(); ppvArray_0_3904412c62a7030b520ea558805904db[0] = http //w.atwiki.jp/bfgmatome/?cmd=upload&act=open&page=Book+of+Legends&file=en_book-of-legends-screen1.jpg ; window.onload=function(){ ppvShow_0_3904412c62a7030b520ea558805904db(0); }; function ppvShow_0_3904412c62a7030b520ea558805904db(n){ if(!ppvArray_0_3904412c62a7030b520ea558805904db[n]){ alert( 画像がありません ); return; } ppv_0_3904412c62a7030b520ea558805904db$( ppv_img_0_3904412c62a7030b520ea558805904db ).src=ppvArray_0_3904412c62a7030b520ea558805904db[n]; ppv_0_3904412c62a7030b520ea558805904db$( ppv_link_0_3904412c62a7030b520ea558805904db ).href=ppvArray_0_3904412c62a7030b520ea558805904db[n]; ppv_0_3904412c62a7030b520ea558805904db$( ppv_prev_0_3904412c62a7030b520ea558805904db ).href= javascript ppvShow_0_3904412c62a7030b520ea558805904db( +(n-1)+ ) ; ppv_0_3904412c62a7030b520ea558805904db$( ppv_next_0_3904412c62a7030b520ea558805904db ).href= javascript ppvShow_0_3904412c62a7030b520ea558805904db( +(n+1)+ ) ; } function ppv_0_3904412c62a7030b520ea558805904db$(){ var elements = new Array(); for (var i = 0; i arguments.length; i++){ var element = arguments[i]; if (typeof element == string ) element = document.getElementById(element); if (arguments.length == 1) return element; elements.push(element); } return elements; } 備考 レス一覧 256 名前: 名無しさんの野望 [sage] 投稿日: 2010/10/14(木) 21 56 02 ID 6zQWaDQA . 248 Mの項じゃなくて、Dの項にちゃんとあった。適当なこと書いてスマン 「Danger Next Door Miss Teri Tale s Adventure」 . 249 設定的にイタリアのおかんっぽいけど、警察とかアメリカン? ボーナスゲーム、ロシアンな製作者達の素顔紹介だった! 定価で買うには短めだけど、割引価格ならおススメ! あと、テンション高いアイテム探しって、「Book of Legends」 「The Scruffs」「Discovery! A Seek and Find Adventure」 「Annie s Millions」「Polly Pride Pet Detective」とかかな? コメント コメント すべてのコメントを見る トップページに戻る
https://w.atwiki.jp/gcmatome/pages/8627.html
The Big Journey 【ざ びっぐ じゃーにー】 ジャンル アクション 対応機種 Windows/mac OS(Steam)Nintendo Switch メディア ダウンロード専売 発売元 Hook Games 開発元 Catfishbox 配信開始日 【PC】2018年4月20日【Switch】2021年4月30日 定価 【PC】520円【Switch】1,000円 プレイ人数 1人 セーブデータ 1箇所・オートセーブ方式 レーティング IARC 3+ 判定 なし ポイント 球体猫を転がす傾けアクションクセありながらも分かりやすい操作体系ボリュームはやや控えめだがやり込み要素あり 概要 ゲームルール 評価点 問題点 総評 概要 Hook Gamesから発売されたダウンロードソフト。開発はウクライナのスタジオであるCatfishboxが担当。 ジャンルは横スクロールアクションゲームだが、一般的な同ジャンルと比べて操作体系が少し特殊になっている。 球体の猫を操作し、様々な世界な中で転がしていくという設定。時折文章を交えたイベントが発生するが、Steam版・Switch版共に日本語非対応。 ゲームルール ゲームの流れ 全5チャプター(+おまけチャプター)をステージ順に攻略していく。各チャプターは5ステージで構成される(全30ステージ)。 一度プレイしたものであればステージセレクトが可能。各チャプターの開始前にはイベントが発生し、後に個別でイベントの再鑑賞も行える。 とある条件を満たすと操作猫を最大9匹から選択できるが、どの猫を使用して性能差はない。 操作体系 主な操作は画面の傾けと猫のジャンプを行う。Switch版は本体の仕様ならではの操作(*1)も行える。 アナログスティック等左右、もしくはSwitch本体の傾けで画面全域の地形すべてを左右約45度までの範囲で傾ける(*2)。 本作は猫そのものを直接に移動操作させる事はできず、坂道による地面の転がしで猫を移動をさせる形となる。 ジャンプボタンで猫のジャンプを行う。素のジャンプ力は低く、傾けによる助走や仕掛けを利用しないと大きくジャンプできない。 丸っこい体格の関係上もあって、猫の移動には独特の慣性が働きやすい。またジャンプ中に一部の敵に体当たりすると倒す事ができる。 ステージ中には様々な仕掛けやトラップがあり、これらを上手く活用(回避)する必要がある。 主に「大ジャンプするトランポリン」「動きを制限する風圧」「ダメージを受ける敵やトラップ」などが存在し、ステージを進める上での関門となってくる。 アイテムと仲間について ステージ中には以下のアイテムが放置されている。バグと餃子はクリアランクに影響するので、できるだけ多く集める必要あり。 「バグ」はステージ内のいたる場所に配置されており、最も見かける割合が多い。餃子とは違い、一度取得したバグが消滅する要因はない。 「餃子(*3)」はバグよりも設置数が少なく、物陰に隠されている事が多い。ダメージを受けると取得した餃子を1個落としてしまい、放置すると消滅してしまう。 「怪しいキノコ」を取得してしまうと、一定時間画面がグニャグニャ化して周囲の状況が見辛くなる。無視すべき純粋なるマイナスアイテム。 おまけチャプターのステージ限定で「食べ物」のアイテムが3つ配置されており、すべて取得しないと障害物に遮られゴールにたどり着けない。 おまけ以外のチャプターにおける各ステージのどこかに、何かしら動物の姿をした「仲間」が待っている。 無視してもクリアランクの影響はないが、見つけておくと後のギャラリーで鑑賞できる。全部で25キャラ(5チャプター×5ステージ)の仲間が存在する。 ステージクリア条件について ステージの奥にあるゴールポイントに猫を到達させればステージクリア。 クリア後は3段階までのランクがステージ別で記録される。ランクの条件はステージ中に取得した「バグの数」と「餃子の数」及び「クリア時間」が関わる。 本作にはミスとなる条件はなく、事実上の無敵状態となる。猫が敵やトラップに触れるとダメージだが、一時的な隙の発生と餃子を落とすのみ。 評価点 ころころ転がすアクションの楽しさ 「傾けで猫を転がしていく」という独特のアクションと横スクロールの相性は抜群で、従来の同ジャンルと同じ感覚でプレイできる。 小難しいルールはなく、ただ単に「転がしとジャンプでゴールを目指す」という単純明快な内容。ステージ序盤ではチュートリアルの解説も挟まれる。 しかし猫の慣性の強いクセあり移動が厄介で、慣れないうちは変な方向に猫を転がしがち。傾けの微調整を駆使しないとなかなかゴールが見えてこない。 分かりやすい操作でありながら、高ランクを目指すとなると手強い難易度と化す。 ミスをしない仕様なため、クリアするだけならば容易い難易度であるが、バグと餃子をできるだけ取り逃さずに早くクリアするのが難しい。 チャプターを進めるにつれステージが高難易度及び複雑化するため、より高度なテクニックが必要。特におまけチャプターのステージはかなりの難関。 猫と仲間が可愛らしい 全身まん丸な猫の容姿が非常に可愛らしく、ぽよぽよとバウンドしながら動く様に癒される。 一応手足はついているようだが、本作の猫はなぜか横に回転させて移動する。なぜに手足を使わないのかは謎だが、細かい事は気にしてはいけないのだろう。 ステージ途中で出会う仲間たちも個性的で可愛らしく、ステージ攻略の寄り道として出会う楽しみがある。 ほんわかとしたグラフィックとBGM グラフィックは全体的にほんわかムードが漂うもので、猫の可愛らしさも相まって独特の魅力を感じさせる。 チャプターによってグラフィックの雰囲気が一新されるなど、先に進んでいる感が表現されている。どことなく箱庭感のあるステージ構造も魅力の一つ。 BGMに関しても同様のほんわか感のある楽曲がメインで、グラフィックとの調和性は非常に高い。 問題点 日本語非対応 せっかくのイベントシーンが用意されているのに、日本語非対応なために日本人からするとイベントシーンの趣旨が理解し辛い。 アクションゲームとしてプレイする分には特に差し支えなく、イベント自体もそこまで大掛かりなものではないため大きな問題とならないのが救い。 ボリュームはやや控えめ 各ステージは比較的短期(*4)でクリアできやすいため、オールクリアまでの道のりは意外と短期で済みやすい。 ステージ自体はそこそこの数が収録されており、各ステージにおける高ランク狙いもあるため、やり込みを視野に入れるならば十分なボリュームではある。 総評 ボリューム的にはダウンロードソフト相当のものだが、転がし系のアクションゲームとしての完成度は高く無難に楽しめる佳作といえる。 外観上のセンスの良さも魅力的で雰囲気ゲームとしての評価も併せ持つ。その中で猫を転がしていくという設定に惹かれるのであればプレイして損はないであろう一作。
https://w.atwiki.jp/kakis/pages/1539.html
endi /// / 初老の女。50~59 歳 4 \ 14 seren klel sid endo(老女) \ 0 0~1 2~5 6~9 10~14 15~19 20~29 30~39 40~49 50~59 60~ fan nane nana tina fian laz mana naat tona saaz endi enda fin nane nani tini fiin liz mani nait toni saiz ende endo fun nane nanu tinu fiun luz manu naut tonu sauz endu? endu?
https://w.atwiki.jp/mopsprogramming/pages/158.html
変数 プログラムにとって変数とは何でしょうか。それは、データを一時的に格納して、後のための取っておく"箱"のようなものです。"一時的"、というのは、そのデータは適宜入れ替えることができるからです。新たにデータを格納すると、対応部分に格納してあった古いデータは上書きされ、消されてしまいます。機械においてみれば、変数は記憶装置の一区画です。ただし、この逆は成り立ちません。 変数のために利用される記憶装置は、場合によっては、中央演算装置の中にあるレジスタと呼ばれる少量の記憶装置で済まされることもありますが、大抵はメモリーと呼ばれている外部記憶装置部分です。変数は値を維持し、適宜、値を入れ替えることができるわけですから、このメモリーもそういう性質をもっているわけです。ここまでは当然の前提としてきましたが、記憶装置一般としては適宜記憶内容を変更できるものばかりではありません。いわゆるメモリーのように、記憶内容を随時入れ替えられる記憶装置はRAM(確か、ランダムアクセスメモリー Random Access Memory;意味としては、randomly accessible memoryでしょうかね。あまり"書き込み可能"という含みがない気がするのが不思議。)とよばれます。これに対して、決まったデータを読み出すことしかできないものはROM(リードオンリーメモリー Read Only Memory)と呼ばれます。 さて、プログラムにおける変数の話に戻ります。変数の役割には、おおまかにいって三つの側面があります。一つは、データを保存、保持しておくことです。もう一つは、データの伝達の媒介となることです。もちろん、これらの側面は結びついています。何らかの処理で得られたデータを変数に格納することで、それは時間的に後の段階まで保存されます。そして、その変数の値を次の処理に渡すことによって、前の処理と、次の処理とのデータの伝達が可能になるわけです。 そして、三つ目は、プログラムを抽象化して、最小限の汎用性と柔軟性を与える、という側面があります。これは少し抽象的なのですが、例えば、 a = 7 + 2; などとやっても、プログラムとしてはほとんど意味がありません。aの値は9で決まってしまっています。7+2は計算できても、それ以外の足し算は視野に入ってきません。これを、 long a,b,c; //全部longの場合の、宣言の略記法です。 void Addition (long x, long y ) { a = x; b = y; c = a + b; } のようにすれば(コードは怪しいですが)、関数に二つのパラメターを与えるだけで一般的にその和が得られるようになります。つまり、プログラムは変数を用いることによって、具体的な値から切り離され、もっと一般的な構造を記述することができるようになるのです。 数学との関係 変数に名前をつけ、その名前で特定する場合には、変数は、数学の文字式の中の計算される文字に外見が類似してきます。実際、「データ(値)を入れる箱」というイメージは、数学で最初にx,y等がでてくるときの最も良くある導入の方法ではないかと思います。実際、プログラミング言語の方も、数式との類似性を(少なくとも初期の頃は)ずっと追いかけてきたのです。もちろんこれでかまいませんが、数学の方は、もっと抽象化します。つまり、もはや、文字に値が割り当てられるということにはあまり拘泥することなく、計算の規則にしたがって、文字そのものについて計算を始めるようになります(無限級数の収束とかを考えないFormal云々という流儀があります。)--もっとも値に立ち返ることができる必要はあるのですが。コンピュータはそこまでは行けません。変数には常に値があって、計算されるのはその値です。実際に、文字式そのものを計算できるように見せたアプリケーションは、確かに存在しています。しかし、それは普通の変数とは異なる、アプリケーションによって抽象化され、操作された処理を踏んでいるはずであって、実際の動作における変数については、その計算とはつまりその値の計算を意味している、という事態になっているでしょう。 変数名が見えないMops しかし、以前の回に現れたMopsの足し算コードは 3 5 + でした。これには変数が見えません。それでは計算が抽象化できていないかというと、そうではありません。これは、そのときにも触れたデータスタックという変数が介在しているからです。Mopsでは数字を書いたとたん、それは変数(データスタック)に格納されますし、演算子は自分に必要な分の入力を、その変数から取り出して使うことになっているのです。ですから、取り立てて変数の名前付きでの宣言と、変数を使った式の表示を書くまでもなく、"+"という演算子自体が既に抽象化、一般化されている、と考えることができます。つまり、"+"演算子は何もしなくても原則として変数(データスタック)に結びついているのです。まあ、確かに、分かりにくいっちゃあ、わかりにくいですが。 タイプ データは全て数値で表現されます。ですが、それぞれに意味の違いがあります。もっとも大きな違いは、整数と小数(浮動小数点数)の別です。これらは、数値の表現型式が違いますから、表わそうとしている値が同じでも、電気的なデータとしては異なっています。ですから、どちらに属するかで、同じデータが全然違う値として解釈されてしまうことになるので、きちんと区別する必要があります。もう一つは少し微妙な違いで、整数とアドレスです。実体としてはアドレスは整数でしかありません(アドレス値に小数を使っている例は、私は見たことはありません。普通は、整数、特に、負の数なし(unsigned)の整数が使われます)。しかし、整数は単なる値を示しているに過ぎないのに対して、アドレスはメモリーの場所を示しています。さらにメモリーアドレスも、そこにどんな値を格納している、あるいは格納する予定であるのか、を区別し出すと、値の意味の違いは非常に多様になります。この意味の類型は、データのタイプと呼ばれます。 C言語などでは、これらは変数の型(Type)を指定することによって区別しようとしています。Mopsでは、小数と整数は区別しますが、アドレスと整数の区別はプログラマが自分で自覚的に区別しないといけません。まあ、変数に型があっても、自覚的に区別しないといけないのは同じですが。Mopsではアドレスも、そのままで、普通の整数と全く同じように、四則演算(足し算、引き算、かけ算、割り算)ができます。つまり、C言語とかでは、アドレス(ポインタ値)の計算(特に増減)は普通の整数の計算と同じに考えられない場合があることを暗にほのめかしているわけです。まあ、それはここでは触れないでおきます。アドレスへの足し算/引き算が何も考えず自由にできることは便利ではあります。かけ算/割り算はやめた方がいいですね。意味がないことが多いでしょう(オフセットは別 -- アドレスのオフセットは、もうアドレスじゃなくて数値だと思いますが。ちなみに、オフセットというのは番地のズレ幅のことで、二つのドレスの値の差のことをいわんとしています。)。 タイプはデータの属性 このように、タイプ、型というのは、もともとはデータ、つまり変数に格納される値の方の属性です。変数の属性ではありません。ある変数に格納する値のタイプを予め決めておくことによって、変数と値を同じものであるかのように扱う、というのが、変数の型の意味だったわけです。実践的には、変数に型情報を付け加えておくことによって、プログラマがある値をその型に合わない取り扱い方をしたりすること(つまり、ミス)を防ぎ、加えて、より効率的なマシンコードを生成することが目的です。この型情報というのは、機械への情報ではありません。主としてコンパイラへの情報です。コンパイラがこの情報を用いて、あわよくば、効率的なコードを吐き出せるように、というわけです。機械は、データの型など全く感知しません。データはデータ。みな一緒くたです。変数の型を操作することになれたプログラマーは、変数に型がないというのをいぶかしく思うそうです。しかし、機械には意味がない情報なのですから、なくたってかまわないのです。ただ、機械は"タイプ"を感知しないからこそ、間違ったプログラムを避けるため、プログラマは"データの"タイプを意識しなければいけないのです。しかし、それは"変数の"タイプとは同一概念ではありません。データの型/タイプというのは、そのデータの持つ意味の類型のことであって、変数の型というのは、これに依存する便法のようなものなのです。ちょっと抽象的というか、観念的な話ですが、元々そういうものなんです、この"タイプ"ってのは。 Mops/Forthでは、値は無名の変数域であるスタック(この仕組みは他所で述べます)に、何でもかんでも突っ込めるわけですし、大域変数のために準備された変数も、一様に1セル幅の何でも入る変数です。ですから逆に、プログラマはデータの型に自分で気を配る必要があるのです。Forth系の言語には、これと同様にプログラマに任されていることが他にも結構あります。悪口を言う人は言語の仕事の放棄だみたいな言い方をするのですが、逆に言えば、プログラマに最大限の自由が与えられているともいえるわけです。自分の手でファインチューニング可能、なんて、如何にも手作りっぽくていいじゃないですか、と私は思いますが。まあ、変数の型には直接関係ない話ですが。 データ格納形式と16進数表記 さて、Mopsの場合、OSはC言語系のプログラミング言語で書かれているので、OSとの継ぎ目のところで、変数の型にも少し配慮する必要があります。変数の型そのものが問題になるわけではないんですが、何バイト幅の変数であるかは意識しなければならないことがあるのです。C言語でいえばcharは1バイト、short intは2バイト、long intは4バイトです。ポインタは1セルになります。小さな幅に値を格納するのは、いってみればメモリーを節約するということで、一定程度以上大きくなり得ない数値を格納するときには、メモリーの幅を細かく刻んで取って、不使用部分を減らすというわけです。 ここで、一定のメモリー幅へのデータ格納形式を見てみましょう。実はこれは機械によって違うのですが、PowerMopsが動くPowerPCについて見てみます。 その前に、16進数表記法に慣れておくと便利です。16進法というのは、要は、16になって初めて桁が繰り上がる表記法です。例えば、16進数で20は普通の10進法では32なわけです。n桁めを16n-1の個数として計算すれば10進表記に変換できます。あまりしたくありませんが。ただ、ひと桁の数字は0から9までの10個しかないので、10を越えたときにはアルファベットを使うことになっています。10進法でいえばAが10、Bが11、Cが12、Dが13、Eが14、Fが15です。16は繰り上がるので要りませんね。16進法では10進法の15まではひと桁の数となるのです。 なんでこんなめんどくさい表記を使うかというと、16進法では、ひと桁がちょうど4ビット、つまり2進法での4桁に当たる点が、ものすごく便利だからです。4ビットは、ハーフバイトとか、ニブル(nibble、nybbleとつづることもあるようです)と呼ばれます。1バイト8ビットですから、16進数2桁でちょうど1バイトなわけです。 さてこの利点を利用して、メモリーへのデータ格納形式をみましょう。変数に結びついている格納領域のアドレスというのは、基本的にはその先頭のアドレスをいいます。1バイト数である"7E"(16進表記ですよ)を、1/2/4バイトの変数に格納すると、だいたい次のようになります。 7E 1バイト 007E 2バイト 0000007E 4バイト 右側の空いている部分は、まだ使おうと思えば使えるわけです。小さい数を1セルに入れると、結構、0でメモリーを無駄に使いますね。もちろん、上の0一つで2進法の4桁分(4ビット)の0ということですよ。(ちなみに、Intel x86互換(pentiumとか)の場合、バイトの並びかたが右から--0も右に詰める -- になるようです。バイトの並べ方をエンディアンといいます。PowerPCはビッグエンディアン、x86系はリトルエンディアンというようです。名前の由来は知りません。がわかりました。ただ、記憶がもうあやふやですが。確か、ガリバー旅行記だという話です。内容は、スパゲッティだったか、パスタだったか、ともかく細長い食べ物を、太い方から食べるべき(big-endian つまり、大きい(big)端(end)派)とする側と細い方から食べるべき(little-endian つまり、小さい(little)端(end)派)する側とで対立し、その争いが元で戦争をするとか言う話だそうです。PPCは、低い方のメモリー、つまり、先に、大きい数値になる高い桁分に対応するバイトを格納するのでbig-endian、x86系は逆に小さい値になる低い桁分に当たるバイトを先に格納するのでlittle-endianということになるわけです。) 符号付き数と符号なし数 Mops/Forthでは、どんな数値も、大抵は1セル幅のスタックに写してから利用します。1,2バイト変数のような1セルに満たない変数に格納された数値もそうです。すると、バイト幅を拡張しなければなりません。単純に頭に0を詰めればいいと思われるかもしれませんが、実はそうともいえない場合があるのです。というのは、符号付き数、つまり、負の数を含んでいる場合があるからです。 符号なし整数、つまり、0が正の数だけ表す場合は、普通に、第n桁→2n-1という換算で数値表現できます。では負の数はどうするのでしょう。実は、別に負の数に特別なやり方があるわけではなくて、ある形のデータを負の数と解釈することによって実現されているのです。1バイトでみてみましょう。例えば、-1は全ビット1で表現されます。2進数表記してみます。真ん中にわかりやすく区切りをいれて、 1111 1111 ちなみに、16進数では2進数の1111はFなので、"FF"と表記できます。 これが、なんで-1なのか、です。1を足してみましょう。すると、右端の桁は1+1で1繰り上がって0。上の桁は全部1なので、どんどん繰り上がって、全部0です。左端の桁も0で、1繰り上がりますが、もう桁がないので、繰り上がりは捨てられてしまいます。すると、全桁0になります。全桁0はもちろん0に当たります。つまり、1を足すと0になる数。-1じゃないですか! こんな風にして、一貫した形で、負の数の表現を定めることができます。考え方としては、最上位の繰り上がりが捨てられるわけですから、1バイトは全体が256周期の数になっているわけです。つまり、256足すと同じ数に戻る。これを考えると、"負の数の表現→符号なし数での値"という対応は次のようになります。 -n → 256 - n .... 但し、n=0のときは0 あれこれ考えているうちに納得できるのですが、負の数の表現というのは、必ず一番左の桁が1になっています。というか、このように決めれば単純でかつ論理的に一貫した表現法が可能になる、と。そこで、この規約がコンピュータでは採用されます。そして、この、左端の桁が1かどうかで挙動を変えれば符号付き数のバイト幅を拡張になり、何も考えずに左に0を詰めれば符号なし数のバイト幅の拡張になるわけです。負の数のバイト幅拡張では、具体的には、左に0ではなくて1を詰めるということになります。つまりもとの左端の桁が0なら0を詰め、1なら1を詰める、というのが符号付整数のバイト幅拡張方法となるわけです。 ちなみに、2バイトの場合には、周期が6万5536、4バイトの場合は42億9496万7296を周期として、同じように考えることができます。って、考えたくないですね、普通。ビットでマイナスに変換する手順としては、もとの数の一番右の1のところまで右側の桁はもとの数と同じにします。それより左の桁は、ビットを反転します。つまり、もとの数のその桁が0なら1、1なら0を置くのです。これで、-1を掛けた数、つまり、加法の逆元(足して0になる数)が得られるはずです。 Mopsの変数 Mopsの標準的な変数は"Variable"という宣言で生成される変数です。便宜上、このサイトでは、Variable変数と呼んでいます。 VARIABLE MyVariable1 この変数の幅は、前にも触れたように1セル(4バイト)です。この変数は、他のプログラミング言語の変数とは挙動が違っています。この変数の名前を書いて呼び出すと、この変数に値を格納する領域として割り当てられたメモリの先頭のアドレスがスタック上には積まれます。つまり、値そのものではなく、ポインタが積まれるわけです。値を取り出すときには、このアドレスに対して、値を取り出すという操作をするわけです。この操作をするワードは"@"です。 MyVariable1 @ "@"は1セルに値がきっちりと入っていることを前提としています。ところが、前に触れたように、システムコールから小さい幅の値をもらった場合には、先頭詰め、ないし左詰めで値が入り、後半が空いてしまいます。この場合には、違う取り出し方をしないといけません。1バイト幅なら"C@"、2バイト幅なら"W@"を使います。3バイト幅というのは使いません。 MyVariable1 C@ \ 頭の1バイト分を値としてスタックに写す MyVariable1 W@ \ 頭の2バイト分を値としてスタックに写す スタックの細かい仕組みは他所で説明しますが、スタックは1セル均一ですから、1バイト/2バイトの値を取り出すというのは、その値を4バイトに変換しているわけです。 C@、W@は、アドレスの頭から1バイト/2バイトを、符号なしの数としてスタックに取り出します。つまり、頭に0を詰めるだけです。 符号付で取り出したい場合には、バイト幅に応じて"C@X"、および"W@X"というワードを使います。Xは符号拡張(sign-eXtension)のXのようです。 スタックから変数に値を格納する場合には、バイト幅に合わせて、"C!"、"W!"、"!"を使います。これは引数として、スタック上に、格納する値と変数のアドレスの両方が必要になります。例えば、 5 MyVariable1 ! とやれば、5がMyVariable1に、4バイト数として格納されます。C!ないしW!は、スタック上の値の左側を削り落としてそれぞれ1バイトないし2バイトにし、頭詰めでMyVariable1のメモリ領域に格納します。変数の格納域は右側に空きができますが、そこには何の操作もしません。 Value Mops/Forthにはもう一つ変数の形式があります。それはValue宣言で作り出すものです。このサイトでは便宜上、Value変数と呼んでいます。この変数は、その名の通り、その値(value)と同一視できる変数です。他のプログラミング言語では、変数というのはそういうものだと考えられていますね。この変数は、変数名を書いて呼び出せば、アドレスを媒介にすることなく、直接にそこに格納されている値がスタックに積まれます。このタイプの変数には、宣言時に初期値を与える必要があります。例えば、 13 Value MyValue1 とすれば、初期値13でValue変数"MyValue1"が生成されます。既に述べたように、値を取り出すには、 MyValue1 とするだけです。このタイプの変数に値を格納するには、"- "というワードを使います。スタックを媒介にします。 5 - myValue1 なお、"- "にあたるForth標準ワードは"TO"です。 この変数も、格納領域は1セル(4バイト)です。しかし、値の出し入れはいつもスタックを媒介にして行われるので、バイト幅の違い云々について考えることはありません。 大域(Global)変数 Forth伝来の、Variable変数およびValue変数は、ともに大域変数のための変数です。大域変数というのは、プログラムの実行時間全体を通じて、使っていると否とにかかわらず常に存在し、どのプロセスからも値を参照し、操作できる変数をいいます。変数の"値を参照し、操作できる"ことを、その変数に"アクセスできる"という言い方をします。厳密にいうとこれらの変数は、どのプロセスからもアクセスできるわけではありません。宣言前に定義されたワードからは、これらの変数も呼び出せないからです。C言語なんかだと、大域変数は全ての関数の定義に先立って宣言しないといけないので、まさに大域変数なのですが、Mops/Forthではそうではありません。それでも、宣言後に定義されるワードからのアクセスには制限はありません。その意味で大域変数といえるでしょう。 大域変数の多用は、一般に嫌われます。少し前の教科書、あるいはC言語の解説なんかでは今でも、大域変数は、必要なくなってもプログラムの終了までずっとメモリーを占拠しているので、メモリー効率が悪い、ということを理由にしているものもあります。しかし、最近ではむしろ、大域変数は危険であるということが強調されています。どこの関数からもアクセスできるので、いろいろな関数がこの変数の値を変えているかもしれず、それが起こったときにはミスの発見が難しい(巨大なソースコードのあちらこちらにちりばめられている可能性がある)と。 冷静に考えれば、ちゃんとわかりやすい名前にしておけば、そんな間抜けなことするかい!とも思われますが、もっと冷静に考えると、プログラムは一人で書くとは限らず、別々の部分は、数ヶ月、あるいは数年離れて書かれることもあり得るわけです。まあ、大域変数を使うことより、安易にあちこちからアクセスして、値を変えたりすることが問題なんですが。 そういうわけで、特定の部分からしかアクセスできない局所(local)変数の方が一般に好まれるわけです。また、使わなくなったらそれに使っていたメモリー領域を再利用できるようにすれば、メモリー効率もいいというわけです。Mops/Forthではこのような局所変数のために、主としてスタックを使います。スタックの機構については後に回します。 Mops/Forthでは、その独特な機構から、モジュール(サブルーチンよりも大きな機能的にまとまりのある部分)毎に大域変数を設定することも、実はできます。またMopsにはモジュールと呼ばれる独立のファイルをつくって、変数やワードなどをその中に閉じ込めることもできます。実際には様々な名前の閉じ込め方法があるわけです。 前へ 次へ 目次へ トップページへ
https://w.atwiki.jp/shinmegamitenseiif/pages/36.html
BIG SMALL 1PLAY10コイン 出る数が5以上であればBIG、4以下はSMALLです。 BIGかSMALLかを当てるゲームです。 【+】ボタン上下でBIGかSMALLかを選び、【R】ボタンでスタートします。 当たると【R】ボタンでダブルチャレンジ、【L】ボタンでテイクスコアです。 テイクスコアの場合は、そのままコインは加算されます。 ダブルチャレンジでは当たったコインを倍々に増やすことができます。 成功する回数が多くなればコインも増えますが、途中で失敗した場合は何ももらえなくなります。 RESULTは今までに出た数字を表示します。 青はSMALL、赤はBIGです。 【L】ボタンでゲーム終了です。